#pragma once
#include "UIControl.h"

namespace DirectUI
{
#define BTN_NORMAL_STATE	L"PointerNormal"
#define BTN_HOVER_STATE		L"PointerOver"

	class CUIButton : public CUIControl
	{
	public:
		DECLARE_CLASS(CUIButton, Button)

		CUIButton(void);
		virtual ~CUIButton(void);

		virtual void				MouseEnter(IMouseEventArgs* lpArgs);
		virtual void				MouseLeave(IMouseEventArgs* lpArgs);
		virtual void				PreviewMouseMove(IMouseEventArgs* lpArgs);
		virtual void				MouseMove(IMouseEventArgs* lpArgs);
		virtual void				PreviewLButtonDown(IMouseEventArgs* lpArgs);
		virtual void				LButtonDown(IMouseEventArgs* lpArgs);
		virtual void				PreviewLButtonUp(IMouseEventArgs* lpArgs);
		virtual void				LButtonUp(IMouseEventArgs* lpArgs);

	private:
		bool	m_bPressed;
		bool	m_bHover;
	};
};
